package 复制单级文件夹;

import java.io.*;

//将D:\\jhxfile这个文件夹复制到模块目录下
public class CopyFolderDemo {
    public static void main(String[] args) throws IOException {
        //创建数据源目录File对象，路径是D:\\ico
        File srcFolder=new File("D:\\ico");

        //获取数据源目录File对象的名称
        String srcFoldername= srcFolder.getName();//ico

        //创建目的地目录File对象，路径名是模块名+ico组成(D:\\ico\\IO\\src)
        File destFloder=new File("D:\\javajhx\\IO\\src",srcFoldername);

        //判断目的地目录对应的File是否存在，如果不存在，就创建
        if (!destFloder.exists()){
            destFloder.mkdir();
        }

        //获取数据源目录下所有文件的File数组
        File[] listFiles = srcFolder.listFiles();

        //遍历File数组，得到每一个File对象，该File对象就是数据源文件
        for (File srcFile:listFiles){
            //数据源文件：D:\\ico\\SFZ.jpg
           //获取数据源文件File的对象的名称(import.ico)
            String srcFilename = srcFile.getName();
            //创建目的地File对象,路径名是目的地目录+SFZ.jpg组成(D:\\ico\\SFZ.jpg
            File destFile = new File(destFloder,srcFilename);
            //复制文件
            copyFile(srcFile,destFile);


        }


    }

    private static void copyFile(File srcFile, File destFile)throws IOException {//生成方法声明
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream(srcFile));//封装数据源文件
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(destFile));//封装目的地文件

        byte[] bys=new byte[1024];
        int len;
        while((len=bis.read(bys))!=-1){
            bos.write(bys,0,len);
        }
        bos.close();
        bis.close();
    }

}
